package com.xbongbong.pay.platform.wechatpay.pojo.response.h5;

import com.alibaba.fastjson.annotation.JSONField;
import com.xbongbong.pay.platform.wechatpay.pojo.response.WeChatBaseResponse;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

/**
 *
 * @author 魏荣杰
 * @date 2021/1/8 13:50
 * @since
 * @version
 */
@Setter
@Getter
public class WeChatH5RefundNoticeResponse extends WeChatBaseResponse {
    private static final long serialVersionUID = -1252414974829566261L;
    /**
     * 微信分配的应用ID
     * 示例值：wx8888888888888888
     */
    @NotBlank
    @Size(min = 1, max = 32)
    @JSONField(name = "appid")
    private String appId;

    /**
     * 微信支付分配的商户号
     * 示例值：1900000109
     */
    @NotBlank
    @Size(min = 1, max = 32)
    @JSONField(name = "mch_id")
    private String mchId;
    /**
     * 微信分配的子商户应用ID，如需在支付完成后获取sub_openid则此参数必传。
     * 注意：仅适用于服务商模式
     * 示例值：wx8888888888888888
     */
    @Size(min = 1, max = 32)
    @JSONField(name = "sub_appid")
    private String subAppId;

    /**
     * 微信支付分配的子商户号
     * 注意：仅适用于服务商模式
     * 示例值：1900000109
     */
    @NotBlank
    @Size(min = 1, max = 32)
    @JSONField(name = "sub_mch_id")
    private String subMchId;
    /**
     * 随机字符串，不长于32位。推荐随机数生成算法
     * 示例值：5K8264ILTKCH16CQ2502SI8ZNMTM67VS
     */
    @NotBlank
    @Size(min = 1, max = 32)
    @JSONField(name = "nonce_str")
    private String nonceStr;

    /**
     * 加密信息请用商户秘钥进行解密，详见解密方式
     * 示例值：T87GAHG17TGAHG1TGHAHAHA1Y1CIOA9UGJH1GAHV871HAGAGQYQQPOOJMXNBCXBVNMNMAJAA
     */
    @NotBlank
    @Size(min = 1, max = 1024)
    @JSONField(name = "req_info")
    private String reqInfo;
}
